package com.ruoyi.voucher.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 明细账对象 tb_details
 * 
 * @author ruoyi
 * @date 2025-03-10
 */
public class TbDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 凭证字 */
    @Excel(name = "凭证字")
    private String word;

    /** 商品id */
    @Excel(name = "商品id")
    private Long subjectId;

    /** 借方金额 */
    @Excel(name = "借方金额")
    private BigDecimal debitAmount;

    /** 贷方金额 */
    @Excel(name = "贷方金额")
    private BigDecimal creditAmount;

    /** 期初累计借方 */
    @Excel(name = "期初累计借方")
    private BigDecimal cumulativeDebit;

    /** 期初累计贷方 */
    @Excel(name = "期初累计贷方")
    private BigDecimal cumulativeCredit;

    /** 本年累计借方 */
    @Excel(name = "本年累计借方")
    private BigDecimal cumulativeDebitNum;

    /** 本年累计贷方 */
    @Excel(name = "本年累计贷方")
    private BigDecimal cumulativeCreditNum;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date voucherDate;

    /** 方向 */
    @Excel(name = "方向")
    private String direction;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setWord(String word) 
    {
        this.word = word;
    }

    public String getWord() 
    {
        return word;
    }
    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }
    public void setDebitAmount(BigDecimal debitAmount) 
    {
        this.debitAmount = debitAmount;
    }

    public BigDecimal getDebitAmount() 
    {
        return debitAmount;
    }
    public void setCreditAmount(BigDecimal creditAmount) 
    {
        this.creditAmount = creditAmount;
    }

    public BigDecimal getCreditAmount() 
    {
        return creditAmount;
    }
    public void setCumulativeDebit(BigDecimal cumulativeDebit) 
    {
        this.cumulativeDebit = cumulativeDebit;
    }

    public BigDecimal getCumulativeDebit() 
    {
        return cumulativeDebit;
    }
    public void setCumulativeCredit(BigDecimal cumulativeCredit) 
    {
        this.cumulativeCredit = cumulativeCredit;
    }

    public BigDecimal getCumulativeCredit() 
    {
        return cumulativeCredit;
    }
    public void setCumulativeDebitNum(BigDecimal cumulativeDebitNum) 
    {
        this.cumulativeDebitNum = cumulativeDebitNum;
    }

    public BigDecimal getCumulativeDebitNum() 
    {
        return cumulativeDebitNum;
    }
    public void setCumulativeCreditNum(BigDecimal cumulativeCreditNum) 
    {
        this.cumulativeCreditNum = cumulativeCreditNum;
    }

    public BigDecimal getCumulativeCreditNum() 
    {
        return cumulativeCreditNum;
    }
    public void setVoucherDate(Date voucherDate) 
    {
        this.voucherDate = voucherDate;
    }

    public Date getVoucherDate() 
    {
        return voucherDate;
    }
    public void setDirection(String direction) 
    {
        this.direction = direction;
    }

    public String getDirection() 
    {
        return direction;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("word", getWord())
            .append("subjectId", getSubjectId())
            .append("debitAmount", getDebitAmount())
            .append("creditAmount", getCreditAmount())
            .append("cumulativeDebit", getCumulativeDebit())
            .append("cumulativeCredit", getCumulativeCredit())
            .append("cumulativeDebitNum", getCumulativeDebitNum())
            .append("cumulativeCreditNum", getCumulativeCreditNum())
            .append("voucherDate", getVoucherDate())
            .append("direction", getDirection())
            .toString();
    }
}
